1. Field
The present disclosure relates to Global Navigation Satellite System (GNSS) devices and, more specifically, to synchronizing a GNSS receiver with a GNSS signal using multiple offset GNSS channels.
3. Related Art
Navigation receivers that use global navigation satellite systems, such as GPS or GLONASS (hereinafter collectively referred to as “GNSS”), enable a highly accurate determination of the position of the receiver. The satellite signals may include carrier harmonic signals that are modulated by pseudo-random binary codes and that, on the receiver side, may be used to measure the delay relative to a local reference clock. These delay measurements may be used to determine the pseudo-ranges between the receiver and the satellites. The pseudo-ranges are not true geometric ranges because the receiver's local clock may be different from the satellite onboard clocks. If the number of satellites in sight is greater than or equal to four, then the measured pseudo-ranges can be processed to determine the user's single point location as represented by a vector X=(x, y, z)T, as well as to compensate for the receiver clock offset.
For example, a GPS signal may include two pseudo-noise (“PN”) code components: a coarse/acquisition (C/A) code and a precision code (P-code) residing on orthogonal carrier components, which may be used by a GNSS receiver to determine the position of the receiver. In particular, a GPS signal may include a first a carrier signal (referred to as the “L1 signal”) having a frequency of 1575.42 MHz and a second carrier signal (referred to as the “L2 signal”) having a frequency of 1227.60 MHz and that is in quadrature with the first carrier signal. A 1023 bit C/A code may be transmitted on the L1 signal as a 1.023 MHz signal and a 6.1872*1012 bit P-code may be transmitted on both the L1 and L2 signals. Additionally, a 1500 bit navigation message that includes information, such as GPS data and time, satellite status and health, ephemeris data, and the almanac, and that may be used by the GNSS receiver to determine the position of the receiver may modulated over both the C/A code and P-code and transmitted at 50 bits/s. Thus, the C/A code sample sequence is transmitted for a length of time that is different than that of the navigation message data bits. In particular, each C/A code sequence is transmitted for 1 millisecond, while each bit of the navigation message is transmitted for 20 milliseconds.
In order to detect a navigation message bit, an integration function may be performed over 20 consecutive C/A code sequences. However, since the timing of the C/A code sequence is different than the timing of the navigation message data bits, conventional GNSS receivers must determine the exact positions of the navigation message bit-edges (e.g., the C/A code sequence corresponding to the start/end of the navigation message bit) in order to correctly integrate the appropriate C/A code sequences to detect the individual navigation message data bits.
One bit synchronization method that may be used for detecting navigation message bit-edges includes the use of a histogram. In this method, each C/A code sequence may be sequentially assigned to one of 20 bins. The C/A code sequences may be monitored to detect a sign change between adjacent C/A code sequences. In response to a detected sign change, a count of the bin corresponding to the C/A code sequence experiencing the sign change may be incremented. When a count of one of the 20 bins reaches a threshold value, the C/A code sequence associated with the bin may be determined to be the C/A code sequence corresponding to the start of a navigation message bit.
Another conventional bit synchronization method for detecting navigation message bit-edges includes integrating the GPS signal over all possible start/end points and then comparing the power detected in each possible segment. Since there are 20 C/A code sequences per navigation message bit, there are 20 possible bit-edge timing possibilities over which to integrate.
While such bit synchronization methods may be used to successfully detect navigation message bit-edges, their use may result in slow processing of the navigation message and may result in poor performance when applied to signals having low signal-to-noise ratios.